Я новичок в Typescript, и, если честно, во всем, кроме JS.
Я хочу создать единственную функцию, аналогичную функции JS, по строкам
updateField(key, val) {
this[key] = val
}
Я не знаю, возможно ли это в машинописном тексте. Если это то, что не следует делать и нарушает суть машинописного текста, я думаю, я счастлив создать несколько функций.
Я пробовал следовать другим ответам на подобные вопросы, но наткнулся на стену, и я не уверен, что еще попробовать .. Но вот где я закончил. Примечание: я использую mobx, поэтому я использую 'this'
Даже доволен более высоким образованием, почему это невозможно.
export class WhoForSelection {
@persist @observable label = ''
@persist @observable value = ''
}
class EQuiz {
whoFor: WhoForSelection
fistName: string
dob: string
gender: string
@action
updateField<T extends keyof EQuiz, K extends EQuiz[T]>(name: T, value: K) {
this[name] = value
}
}
с ошибками по строкам
(parameter) name: T extends "whoFor" | "fistName" | "dob" | "gender" | "updateField"
Type 'K' is not assignable to type 'this[T]'.
Type 'EQuiz[T]' is not assignable to type 'this[T]'.
Type 'EQuiz' is not assignable to type 'this'.
'EQuiz' is assignable to the constraint of type 'this', but 'this' could be instantiated with a different subtype of constraint 'EQuiz'.
Type 'EQuiz[T]' is not assignable to type 'WhoForSelection &