|
- const warn = (msg, getValue) => {
- console.warn(msg);
- console.log('接受到的值为:', getValue);
- };
-
- Component({
- externalClasses: ['i-class'],
-
- options: {
- multipleSlots: true
- },
-
- relations: {
- '../cell-group/index': {
- type: 'parent'
- }
- },
-
- properties: {
- // 左侧标题
- title: {
- type: String
- },
- // 标题下方的描述信息
- label: {
- type: String
- },
- // 右侧内容
- value: {
- type: String
- },
- // 只有点击 footer 区域才触发 tab 事件
- onlyTapFooter: {
- type: Boolean
- },
- // 是否展示右侧箭头并开启尝试以 url 跳转
- isLink: {
- type: null,
- value: ''
- },
- // 链接类型,可选值为 navigateTo,redirectTo,switchTab,reLaunch
- linkType: {
- type: String,
- value: 'navigateTo'
- },
- url: {
- type: String,
- value: ''
- }
- },
-
- data: {
- isLastCell: true
- },
-
- methods: {
- navigateTo () {
- const { url } = this.data;
- const type = typeof this.data.isLink;
-
- this.triggerEvent('click', {});
-
- if (!this.data.isLink || !url || url === 'true' || url === 'false') return;
-
- if (type !== 'boolean' && type !== 'string') {
- warn('isLink 属性值必须是一个字符串或布尔值', this.data.isLink);
- return;
- }
-
- if (['navigateTo', 'redirectTo', 'switchTab', 'reLaunch'].indexOf(this.data.linkType) === -1) {
- warn('linkType 属性可选值为 navigateTo,redirectTo,switchTab,reLaunch', this.data.linkType);
- return;
- }
- wx[this.data.linkType].call(wx, {url});
- },
- handleTap () {
- if (!this.data.onlyTapFooter) {
- this.navigateTo();
- }
- },
-
- updateIsLastCell (isLastCell) {
- this.setData({ isLastCell });
- }
- }
- });
|