mirror of
https://github.com/tusen-ai/naive-ui.git
synced 2024-12-09 04:31:35 +08:00
68 lines
1.5 KiB
Vue
68 lines
1.5 KiB
Vue
|
<template>
|
||
|
<div class="n-doc-section">
|
||
|
<div class="n-doc-section__header">
|
||
|
Multiple Search
|
||
|
</div>
|
||
|
<div
|
||
|
class="n-doc-section__view"
|
||
|
style="flex-wrap: nowrap;"
|
||
|
>
|
||
|
<!--EXAMPLE_START-->
|
||
|
<n-cascader
|
||
|
v-model="value"
|
||
|
placeholder="Please Select Something"
|
||
|
:options="options"
|
||
|
style="flex-grow: 1; margin-right: 12px;"
|
||
|
filterable
|
||
|
multiple
|
||
|
/>
|
||
|
<!--EXAMPLE_END-->
|
||
|
</div>
|
||
|
<pre class="n-doc-section__inspect">v-model: {{ JSON.stringify(value) }}</pre>
|
||
|
<n-doc-source-block>
|
||
|
<!--SOURCE-->
|
||
|
</n-doc-source-block>
|
||
|
</div>
|
||
|
</template>
|
||
|
|
||
|
<script>
|
||
|
function genOptions (depth = 3, iterator = 1, prefix = '') {
|
||
|
const length = 12
|
||
|
const options = []
|
||
|
for (let i = 1; i <= length; ++i) {
|
||
|
if (iterator === 1) {
|
||
|
options.push({
|
||
|
value: `${i}`,
|
||
|
label: `${i}`,
|
||
|
disabled: i % 5 === 0,
|
||
|
children: genOptions(depth, iterator + 1, '' + i)
|
||
|
})
|
||
|
} else if (iterator === depth) {
|
||
|
options.push({
|
||
|
value: `${prefix}-${i}`,
|
||
|
label: `${prefix}-${i}`,
|
||
|
disabled: i % 5 === 0
|
||
|
|
||
|
})
|
||
|
} else {
|
||
|
options.push({
|
||
|
value: `${prefix}-${i}`,
|
||
|
label: `${prefix}-${i}`,
|
||
|
disabled: i % 5 === 0,
|
||
|
children: genOptions(depth, iterator + 1, `${prefix}-${i}`)
|
||
|
})
|
||
|
}
|
||
|
}
|
||
|
return options
|
||
|
}
|
||
|
|
||
|
export default {
|
||
|
data () {
|
||
|
return {
|
||
|
value: null,
|
||
|
options: genOptions()
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
</script>
|