diff --git a/pages/component/checkbox/checkbox.test.js b/pages/component/checkbox/checkbox.test.js index 24d0e86b09092336b47e6fbb70cca12963ee5cf3..c3a31094fc9de4ca992c0b4b016e18d83338f226 100644 --- a/pages/component/checkbox/checkbox.test.js +++ b/pages/component/checkbox/checkbox.test.js @@ -30,7 +30,7 @@ describe('Checkbox.uvue', () => { const checkboxGroupElements = await page.$$('.checkbox-group') expect(checkboxGroupElements.length).toBe(3) const checkboxElements = await page.$$('.checkbox') - expect(checkboxElements.length).toBe(11) + expect(checkboxElements.length).toBe(12) }) it('text', async () => { const cb = await page.$('.cb1') diff --git a/pages/component/checkbox/checkbox.uvue b/pages/component/checkbox/checkbox.uvue index 0e7210f88e7977a110272ee957e355fd5261c79d..2734e84d2ca1e17924b8bfc4fd1b1364222ce479 100644 --- a/pages/component/checkbox/checkbox.uvue +++ b/pages/component/checkbox/checkbox.uvue @@ -8,11 +8,14 @@ - + 选中 {{text}} 禁用 + + {{wrapText}} + @@ -35,9 +38,6 @@ 推荐展示样式 - - 使用 uni-list 布局 - @@ -61,57 +61,59 @@ data() { return { title: 'checkbox 复选框', - items: [{ - value: 'USA', - name: '美国', - checked: false - }, - { - value: 'CHN', - name: '中国', - checked: true - }, - { - value: 'BRA', - name: '巴西', - checked: false - }, - { - value: 'JPN', - name: '日本', - checked: false - }, - { - value: 'ENG', - name: '英国', - checked: false - }, - { - value: 'FRA', - name: '法国', - checked: false - } + items: [ + { + value: 'CHN', + name: '中国', + checked: true + }, + { + value: 'USA', + name: '美国', + checked: false + }, + { + value: 'BRA', + name: '巴西', + checked: false + }, + { + value: 'JPN', + name: '日本', + checked: false + }, + { + value: 'ENG', + name: '英国', + checked: false + }, + { + value: 'FRA', + name: '法国', + checked: false + } ] as ItemType[], text: '未选中', + wrapText: 'uni-app x,终极跨平台方案\nuts,大一统语言', value: [] as string[], disabled: true, checked: true, - color: '#007aff' + color: '#007aff', } }, methods: { checkboxChange: function (e : CheckboxGroupChangeEvent) { - var items = this.items, - values = e.detail.value; - for (var i = 0, lenI = items.length; i < lenI; ++i) { - const item = items[i] - if (values.indexOf(item.value) >= 0) { - item.checked = true - } else { - item.checked = false + const selectedNames : string[] = [] + this.items.forEach(item => { + if (e.detail.value.includes(item.value)) { + selectedNames.push(item.name) } - } + }) + uni.showToast({ + icon: 'none', + title: '当前选中:' + selectedNames.join(',') + }) }, testChange: function (e : CheckboxGroupChangeEvent) { this.value = e.detail.value diff --git a/pages/component/radio/radio.test.js b/pages/component/radio/radio.test.js index 2fd2c1e5f34aa1f82046efac00f3cb55a5049184..e5e175f120bcf0753bc14a5c3f300c5c573ed150 100644 --- a/pages/component/radio/radio.test.js +++ b/pages/component/radio/radio.test.js @@ -28,7 +28,7 @@ describe('Radio.uvue', () => { const radioGroupElements = await page.$$('.radio-group') expect(radioGroupElements.length).toBe(3) const radioElements = await page.$$('.radio') - expect(radioElements.length).toBe(11) + expect(radioElements.length).toBe(12) }) it('text', async () => { const radio = await page.$('.r1') diff --git a/pages/component/radio/radio.uvue b/pages/component/radio/radio.uvue index df3b3781e930d40d51528e04664f6051c8be1b7f..c431801fb7fe6d927cb7afcb80b0fa7afb6f8acd 100644 --- a/pages/component/radio/radio.uvue +++ b/pages/component/radio/radio.uvue @@ -7,13 +7,15 @@ 默认样式 - + 选中 {{text}} 禁用 + {{wrapText}} + @@ -27,6 +29,7 @@ 未选中 + @@ -54,35 +57,38 @@ data() { return { title: 'radio 单选框', - items: [{ - value: 'USA', - name: '美国' - }, - { - value: 'CHN', - name: '中国' - }, - { - value: 'BRA', - name: '巴西' - }, - { - value: 'JPN', - name: '日本' - }, - { - value: 'ENG', - name: '英国' - }, - { - value: 'FRA', - name: '法国' - }, + items: [ + { + value: 'CHN', + name: '中国' + }, + { + value: 'USA', + name: '美国' + }, + + { + value: 'BRA', + name: '巴西' + }, + { + value: 'JPN', + name: '日本' + }, + { + value: 'ENG', + name: '英国' + }, + { + value: 'FRA', + name: '法国' + }, ] as ItemType[], current: 0, value: '', text: '未选中', + wrapText: 'uni-app x,终极跨平台方案\nuts,大一统语言', disabled: true, checked: true, color: '#007aff' @@ -90,12 +96,13 @@ }, methods: { radioChange(e : RadioGroupChangeEvent) { - for (let i = 0; i < this.items.length; i++) { - if (this.items[i].value === e.detail.value) { - this.current = i; - break; - } - } + const selected = this.items.find((item) : boolean => { + return item.value == e.detail.value + }) + uni.showToast({ + icon: 'none', + title: '当前选中:' + selected?.name + }) }, testChange(e : RadioGroupChangeEvent) { this.value = e.detail.value