import { PropType, computed, defineComponent, ref, toRefs, onMounted, watch } from 'vue' import { Picker, Button, Icon } from 'vant' import styles from './index.module.less' import state, { IPlatform } from "/src/state"; import changeName from "./imgs/changeName.png" import { headImg } from "/src/page-instrument/header-top/image"; import { toggleMusicSheet } from "../index" export default defineComponent({ name: 'choosePartName', props: { partListNames: { type: Array as PropType, default: () => [], }, partIndex: { type: Number, default: 0, }, }, emits: ['close'], setup(props, { emit }) { // #9463 bug,未更换声轨点击确定不应该重新加载,现在会导致切换错误 const partIndexChanged = ref(false); const { partListNames, partIndex } = toRefs(props) let idx = partListNames.value.findIndex((item: any) => item.value === partIndex.value); idx = idx > -1 ? idx : 0; const selectIndex = ref(idx); const columns = computed(() => { return partListNames.value }) // console.log(1111,partListNames.value, partIndex.value, selectIndex.value, columns.value, 999999) /** * 默认选中的 * picker组件,3.x的版本可以使用defaultIndex,4.x的版本只能使用v-model传递 * */ const selValues = ref([partIndex.value]); const myPicker = ref(); onMounted(() => { // console.log(myPicker.value,99999,selValues.value,props.partIndex) }); watch( () => toggleMusicSheet.show, () => { if (toggleMusicSheet.show) { selectIndex.value = partIndex.value selValues.value = [partIndex.value] } //console.log('声轨',selValues.value,partIndex.value,selectIndex.value) } ); return () => (
emit("close")} />
{ state.platform === IPlatform.PC &&
}
{ console.log(1111,'选择的索引', row) if (!partIndexChanged.value) partIndexChanged.value = true selectIndex.value = row.selectedValues[0] }} />
{ // console.log(1111,selectIndex.value) if (partIndexChanged.value) { emit('close', selectIndex.value) } else { emit('close', partIndex.value) } } }>
) }, })